package com.ruoyi.system.service;

import java.util.List;

import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.TbDevice;
import com.ruoyi.system.domain.TbRoomDevice;

/**
 * 房间设备学生成绩记录Service接口
 * 
 * @author ruoyi
 * @date 2025-10-25
 */
public interface ITbRoomDeviceService 
{
    /**
     * 查询房间设备学生成绩记录
     * 
     * @param id 房间设备学生成绩记录主键
     * @return 房间设备学生成绩记录
     */
    public TbRoomDevice selectTbRoomDeviceById(Long id);

    /**
     * 查询房间设备学生成绩记录列表
     * 
     * @param tbRoomDevice 房间设备学生成绩记录
     * @return 房间设备学生成绩记录集合
     */
    public List<TbRoomDevice> selectTbRoomDeviceList(TbRoomDevice tbRoomDevice);

    public List<TbRoomDevice> selectOnlineRoom(TbRoomDevice tbRoomDevice);

    /**
     * 新增房间设备学生成绩记录
     * 
     * @param tbRoomDevice 房间设备学生成绩记录
     * @return 结果
     */
    public int insertTbRoomDevice(TbRoomDevice tbRoomDevice);

    /**
     * 修改房间设备学生成绩记录
     * 
     * @param tbRoomDevice 房间设备学生成绩记录
     * @return 结果
     */
    public int updateTbRoomDevice(TbRoomDevice tbRoomDevice);

    /**
     * 批量删除房间设备学生成绩记录
     * 
     * @param ids 需要删除的房间设备学生成绩记录主键集合
     * @return 结果
     */
    public int deleteTbRoomDeviceByIds(Long[] ids);

    /**
     * 删除房间设备学生成绩记录信息
     * 
     * @param id 房间设备学生成绩记录主键
     * @return 结果
     */
    public int deleteTbRoomDeviceById(Long id);

    public void dosomething(String msg, String ip);

    public JSONObject getSt(String ip);

    public TbDevice getDevice(String ip);

    public SysUser tcpUserLogin(JSONObject jsonObject);

    public boolean sendCommandToDevice(String deviceId, String command);
}
